import java.io.File;
import java.util.Scanner;

/**
 * @author gao
 * @date 2025/8/11 17:02
 */

public class Demo5 {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        System.out.println("请输入要搜索的目录：");
        String dir = in.nextLine();
        System.out.println("请输入要查询的文件名：");
        String filename = in.nextLine();

        // 判断目录是否存在
        File rootFile = new File(dir);
        if (!rootFile.isDirectory()) {
            System.out.println("目录不存在！");
            return;
        }

        // 利用递归进行搜索
        searchFile(rootFile, filename);
    }

    private static void searchFile(File rootFile, String filename) {
        // 列出rootFile中的内容
        File[] files = rootFile.listFiles();
        if (files == null) {
            // 空目录
            return;
        }

        // 遍历files数组，判断元素类型
        for (File file : files) {
            if (file.isDirectory()) {
                searchFile(file, filename);
            } else if (file.isFile()) {
                if (file.getName().contains(filename)) {
                    tryDel(file);
                }
            }
        }
    }

    private static void tryDel(File file) {
        System.out.println("准备删除文件：" + file.getAbsolutePath());
        Scanner in = new Scanner(System.in);
        System.out.println("是否确认删除？(Y/N)");
        String choice = in.nextLine();
        if (choice.equalsIgnoreCase("Y")) {
            file.delete();
            System.out.println("删除成功");
        }
    }
}